
// 类型缩小： 缩小类型的范围
function test(a: string | number){
    // 类型缩小
    if(typeof a === 'string'){
        return a.toUpperCase()
    }else{
        a.toFixed(2)
    }
    
}

// 如何判断变量的数据类型
// typeof 判断基本数据类型的
// instanceof 判断引用数据类型的（判断对象）
// 判断数组 Array.isArray()

function getTime(time: Date | string){
    if(time instanceof Date){
        return time.toLocaleDateString()
    }else{
        return time
    }
}

type A = {
    name: string
}
type B = {
    age: number
}

function test1(a: A | B){
    if('name' in a){
        return a.name
    }else{
        return a.age
    }
}
test('xxxxx')